subroutine Int_E_Upwind_OL6(Q,QL,QR)
  use Module_Basic
  implicit none
  integer i
  real,INTENT(IN):: Q(7)
  real,INTENT(OUT):: QL,QR
  !real,parameter:: ksi= 3./128., eta= 3./128.                  ! UP5
  !real,parameter:: ksi= 0.,      eta= 3./128.                  ! CE6
  real,parameter:: ksi= 0.0022 , eta= 0.037845210214393         ! Optimized
  real,parameter :: b1=(ksi+eta)/2
  real,parameter :: b2=-1.5*eta-2.5*ksi-1./16
  real,parameter :: b3=     eta+5.*ksi+9./16
  real,parameter :: b4=     eta-5.*ksi+9./16
  real,parameter :: b5= 2.5*ksi-1.5*eta-1./16
  real,parameter :: b6=(eta-ksi)/2

  QL = b1*Q(2)+b2*Q(3)+b3*Q(4)+b4*Q(5)+b5*Q(6)+b6*Q(7)
  QR = b1*Q(6)+b2*Q(5)+b3*Q(4)+b4*Q(3)+b5*Q(2)+b6*Q(1)

end subroutine Int_E_Upwind_OL6